package com.example.fish.service;

import com.example.fish.pojo.Event;
import com.example.fish.vo.EventDetail;
import com.example.fish.vo.EventOther;
import com.github.pagehelper.PageInfo;
import com.sun.org.apache.xpath.internal.operations.Bool;

import java.util.List;

public interface EventService {
//    查询全部event
    PageInfo<EventDetail> getAll(Integer pageNum);
//    根据eventid查询
    Event getById(Integer eventid);
//    查询未开始
    PageInfo<EventDetail> getNotStart(Integer pageNum);

//    根据活动状态查询
    PageInfo<EventDetail> findByState(Integer pageNum ,String state);

//    根据userid查询自己发起的活动
    PageInfo<EventOther> findByUserId(Integer pageNum,Integer userId,String flag);

//    删除自己的event
    void deleteByEventId(Integer eventid);

//    报名操作  --- 当前用户登陆的id ，eventid
    void signIn(Integer userid,Integer eventid);

//    根据eventid +userid 判断是否报名过
    Boolean IsSigned(Integer userid,Integer eventid);
//    取消报名
    void signOut(Integer userid,Integer eventid);
//    取消活动  -- 将state改为 已取消
    void cancelEvent(Integer eventid);
// 举办活动
    void holdEvent(Integer userid,Event event);
}
